這篇介紹如何將Contained Database轉移到另一台SQL Server Instance。
在上一篇我大概介紹了Contained Database特性及如何啟用,
這篇我將實作Contained Database轉移到另一台SQL Server Instance過程。
我先在資料庫建立一些物件
--建立資料表
create table tbl_A
(
c1 int ,
c2 varchar(10)
)
go
insert into tbl_A select 1,'rico'
go
--建立預存程序
create proc usp_getdata
as
select * from tbl_A
go
--建立檢視表
create view uv_getsum
as
select sum(1) over (partition by c2 order by c1) as '總量'
from tbl_A
go
--建立純量值函式
create function ufun_getcount()
returns int
as
begin
declare @total int;
select @total=count(1) from tbl_A
return @total;
end
轉移Contained Database到另一台SQL Server Instance
備份來源端(Server A) ContaidedDB
backup database MyContainedDB to disk= 'D:\sqlbackup\MyContainedDB.bak'
備份成功。
啟用自主資料庫驗證
sp_configure 'show advanced options',1
reconfigure
go
sp_configure 'contained database authentication',1
reconfigure
go
select * from sys.configurations
where name='contained database authentication'
再次執行還原
restore database MyContainedDB from disk='D:\sqlbk\MyContainedDB.bak'
成功將MyContainedDB還原到另一台SQL Server Instance。
Contained Databae驗證測試
你可以看到 雖然MycontainedUser並未存在登入清單中,
但卻不像以往資料庫轉移後會出現資料庫主體的錯誤訊息,
而且也可以正常存取MyContainedDB。
MS SQL Server新特性探險:探險代碼 Denali 全系列文章